package com.kyl.entity;


import com.kyl.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @title Dept
 * @description 部门实体类部门类，继承自BaseEntity，用于表示组织结构中的部门信息，包括部门的编号、名称、排序号等
 * @author WanJl
 * @version 1.0
 * @create 2025/1/6
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "部门实体类", description = "对应数据库中的部门表结构")
public class Dept extends BaseEntity {
    /**
     * 父部门编号
     * 用于表示当前部门所属的上级部门，为空表示顶级部门
     */
    @ApiModelProperty(value = "父部门编号")
    private String parentDeptNo;

    /**
     * 部门编号
     * 每个部门的唯一标识符
     */
    @ApiModelProperty(value = "部门编号")
    private String deptNo;

    /**
     * 部门名称
     * 描述部门的名称，用于在界面上显示
     */
    @ApiModelProperty(value = "部门名称")
    private String deptName;

    /**
     * 排序号
     * 用于表示部门在列表中的显示顺序，数值越小显示越靠前
     */
    @ApiModelProperty(value = "排序号")
    private Integer sortNo;

    /**
     * 数据状态
     * 表示部门数据的状态，例如正常、删除等，用于数据的逻辑删除和状态管理
     */
    @ApiModelProperty(value = "数据状态")
    private String dataState;

    /**
     * 部门领导ID
     * 表示部门领导的用户ID，用于关联用户信息
     */
    @ApiModelProperty(value = "部门领导ID")
    private Long leaderId;

    @ApiModelProperty(value = "部门领导名称")
    private String leaderName;
}
